summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoraxis <qt-info@nokia.com>2009-08-21 12:09:06 +0200
committeraxis <qt-info@nokia.com>2009-08-21 12:54:29 +0200
commit0ef0311dad387642bd6aa43e2cef9d25e2b5c5b3 (patch)
tree4c57927959db3f06f519fa17871ea8132d488311
parente909151283a561643a25a72ff85588a00d9f1e7d (diff)
Revert "Fixed KERN-EXEC 3 panic on ARMV5 builds caused by combining trinary operators and 64 bit values in QVariant. This is probably a compiler bug. Workaround is flagged with Q_CC_RVCT specific just in case, but should work for all compilers."
This reverts commit 85a1f7888bd48d5857de2b7c6304a334350fd054. Conflicts: src/corelib/kernel/qvariant.cpp tests/auto/qvariant/qvariant.pro I cannot reproduce this anymore with the latest RVCT, not even in S60 3.1. RevBy: Miikka Heikkinen
-rw-r--r--src/corelib/kernel/qvariant.cpp27
1 files changed, 0 insertions, 27 deletions
diff --git a/src/corelib/kernel/qvariant.cpp b/src/corelib/kernel/qvariant.cpp
index d5b2d16de..196e1d7bc 100644
--- a/src/corelib/kernel/qvariant.cpp
+++ b/src/corelib/kernel/qvariant.cpp
@@ -156,16 +156,7 @@ static void construct(QVariant::Private *x, const void *copy)
x->data.b = copy ? *static_cast<const bool *>(copy) : false;
break;
case QVariant::Double:
-#if defined(Q_CC_RVCT)
- // Using trinary operator with 64bit constants crashes when ran on Symbian device
- if (copy){
- x->data.d = *static_cast<const double*>(copy);
- } else {
- x->data.d = 0.0;
- }
-#else
x->data.d = copy ? *static_cast<const double*>(copy) : 0.0;
-#endif
break;
case QMetaType::Float:
x->data.f = copy ? *static_cast<const float*>(copy) : 0.0f;
@@ -174,28 +165,10 @@ static void construct(QVariant::Private *x, const void *copy)
x->data.o = copy ? *static_cast<QObject *const*>(copy) : 0;
break;
case QVariant::LongLong:
-#if defined(Q_CC_RVCT)
- // Using trinary operator with 64bit constants crashes when ran on Symbian device
- if (copy){
- x->data.ll = *static_cast<const qlonglong *>(copy);
- } else {
- x->data.ll = Q_INT64_C(0);
- }
-#else
x->data.ll = copy ? *static_cast<const qlonglong *>(copy) : Q_INT64_C(0);
-#endif
break;
case QVariant::ULongLong:
-#if defined(Q_CC_RVCT)
- // Using trinary operator with 64bit constants crashes when ran on Symbian device
- if (copy){
- x->data.ull = *static_cast<const qulonglong *>(copy);
- } else {
- x->data.ull = Q_UINT64_C(0);
- }
-#else
x->data.ull = copy ? *static_cast<const qulonglong *>(copy) : Q_UINT64_C(0);
-#endif
break;
case QVariant::Invalid:
case QVariant::UserType: